1. Field of the Invention
The present invention relates to an echo canceller for controlling acoustic echoes in loud telephone lines and teleconference systems as well as echoes in two-to-four line switching hybrid of telephone lines.
2. Description of the Prior Art
Acoustic echo cancellers generally used in teleconference systems are described here as an example. In a teleconference system, there are used loudspeakers and microphones to implement speech communication. Far-end speech sent from a far-end to a near end is loudened by a loudspeaker and reaches near-end speakers, while the far-end speech loudened by the loudspeaker is affected by reflection by walls and the like, and is entered to a microphone as an acoustic echo. The acoustic echo that has entered to the microphone is transferred to the far-end by line and then loudened by a loudspeaker in the far-end. To far-end speakers, the far-end speech returns back as an echo delayed to an extent of the line reciprocation.
In view of the above fact, there has been developed an acoustic echo canceller for cancelling an echo in which an impulse response of an acoustic echo path ranging from a loudspeaker to a microphone is estimated so as to convolute an input signal of a loudspeaker with the estimated impulse response together to thereby synthesize a pseud echo, and subtracting the pseud echo from sn output of the microphone.
Generally, an echo canceller adaptively estimates an impulse response of an echo path by using a spoken speech. To accurately estimate an impulse response of an acoustic echo path, it is required to renew the impulse response (hereinafter, referred to also as "adapt") when only a far-end speaker is speaking (referred to as a single talk). That is, it is natural that renewal of the impulse response be suspended when no far-end speaker is speaking or when only a near-end speaker is speaking, whereas renewal of the impulse response should also be suspended for a double-talk period during which both a near-end speaker and a far-end speaker are simultaneously speaking. Thus, an echo canceller is provided with a function of double talk detection for detecting a double talk and suspending the renewal of the impulse response.
Below described is an acoustic echo canceller as disclosed in the U.S. Pat. No. 4,894,820 which uses a double talk detector with reference to FIG. 17.
As shown in FIG. 17, a subtracter 129 determines the difference in level between the signals Lrin and Lres, and outputs a signal Acoms to an adder 130 and a threshold control section 131. The adder adds a margin to the signal Acoms to generate a signal FLG which is applied to the threshold control section 131. The threshold control section 131 receives Acoms and FLG, and then generates a variable double-talk detection threshold TRIM. A comparator 132 compares a signal Lrin with a reference signal XTH, and detects the idle state of the received signal Rin, and generates an estimation function inhibit signal INH and a control inhibit signal S32. When Lrin&lt;XTH, an inhibit signal INH is generated to inhibit updating, and generates a control inhibit signal S32 to inhibit updating of the double-talk detection threshold TRIM by the threshold control section 131. Meanwhile, a comparator 133 compares a signal Lsin with a reference signal YTH, and detects the idle state of the signal Sin when Lsin&lt;YTH. Then, a clear signal CL1 is generated to clear the estimation function inhibit signal INH to zero, and also generated is a clear signal CL2 to clear the double-talk detection threshold TRIM output from the threshold control section 131 to zero. A comparator 134 compares the threshold TRIM calculated by the threshold control section 131 and the signal FLG output by the adder 130. When TRIM.gtoreq.FLG, the double-talk state is detected to inhibit the estimation function of an adaptive digital filter. When TRIM&lt;FLG, the single-talk state is detected to set the inhibit signal INH to "0". The comparator 134 also generates a control signal S34 which selects the method of control of the threshold value TRIM according to the detected state.
Thus, the conventional double talk detector measures a short time power of an input signal to a loudspeaker and a short time power of an output of the echo canceller and calculates an averaged value of the ratio (Acom) of the short time power of the loudspeaker input signal to the short time power of the echo canceller output, thereby estimating a loss (TRIM) of the echo path including the echo canceller. In the case of a single talk, the value of Acom increases generally monotonously in the converging process where an adaptive filter, which is to estimate the impulse response of the echo path, has not enough estimated characteristics of the echo path, while Acom becomes an approximately constant value when the adaptive filter has enough estimated the characteristics of the echo path. As Acom increases, TRIM also increases gradually. In a single-talk state, a value (FLG) resulting from adding a slight margin to Acom becomes greater than TRIM. Since FLG is greater than TRIM, the double talk detector controls to execute renewal (updating) of a filter coefficient of the adaptive filter. In the case of a double-talk state, on the other hand, since a near-end speaker'signal is contained in an output signal of an echo canceller, the output of the echo canceller increases so that both Acom and FLG abruptly decrease until FLG becomes smaller than TRIM. Thus, the double talk detector, upon detection of the fact that FLG has become smaller than TRIM, suspends renewal of the impulse response, thereby preventing the impulse response estimated by the adaptive filter from being disturbed in the double-talk state.
When the echo path characteristic is changed due to such as movement of the near-end speaker or microphone or the like, the impulse response estimated by the adaptive filter and the impulse response of the after-change echo path do not agree with each other. As a result, there is an increasing residual echo so that FLG decreases as in a double-talk state, in which case the double talk detector suspends adaptation of the echo canceller. TRIM is gradually decreased for the period during which a received input is present and adaptation is kept suspended, so that the echo path change can be managed. After a while, TRIM becomes smaller than FLG, where the double talk detector resumes adaptation of the echo canceller.
The conventional double talk detector as described above may require a few seconds to discriminate between a double talk and an echo path change, during which time there will be generated an echo. Also, if TRIM is decreased at higher speed for the purpose of improving tracking performance with respect to a change of the echo path, the echo canceller would erroneously adapt to a long-time double talk, in some cases causing the filter coefficient of the echo canceller to be disturbed. In a literature, IEEE International Communications Conference Vol. 3 46.5 1985, "A Double Talk Detection Method for an Echo Canceller," based on the fact that 96% of double talks in 5-member teleconferences are occupied by those within 3 seconds, the period for suspending the renewal of the filter coefficient is limited within 3 seconds. However, in this case, there may take place a time delay of 3 seconds in maximum in response to an echo path change.